package com.egao.common.module.recommendation.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.egao.common.core.web.JsonResult;
import com.egao.common.core.web.PageResult;
import com.egao.common.module.recommendation.entity.FreelanceRegistrationForm;
import com.egao.common.core.web.PageParam;
import com.egao.common.module.recommendation.entity.vo.RecommendationAuditParam;
import com.egao.common.module.recommendation.entity.vo.RecommendationListVo;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;


/**
 *  服务接口
 * @author cj
 */
public interface IFreelanceRegistrationFormService extends IService<FreelanceRegistrationForm> {

    /**
     * 查询列表
     * @param page
     * @return PageResult<FreelanceRegistrationForm>
     */
    PageResult<RecommendationListVo> list(PageParam<FreelanceRegistrationForm> page);

    /**
     * 根据id查询单个信息
     * @param id id
     * @return JsonResult
     */
    JsonResult read(Integer id);

    /**
     * 根据id查询单个信息
     * @param
     * @return JsonResult
     */
    JsonResult read();

    /**
     * 添加
     * @param model 信息
     * @return JsonResult
     */
    JsonResult add(FreelanceRegistrationForm model);

    /**
     * 暂存自由职业登记表（状态保持为0-待提交）
     */
    JsonResult update(FreelanceRegistrationForm model);

    /**
     * 提交自由职业登记表（状态变为1-待审核）
     */
    JsonResult submit(Integer id);

    /**
     * 根据ids删除
     * @param ids ids
     * @return JsonResult
     */
    JsonResult delete(Integer[] ids);

    /**
     * 审核
     * @param param
     * @return
     */
    JsonResult audit(RecommendationAuditParam param);

    /**
     * 导出
     * @param id
     * @return
     */
    JsonResult export(Integer id, HttpServletResponse response) throws IOException;

}